package com.fzg.controller;


import com.fzg.common.enums.ResponseWrapper;
import com.fzg.service.GedanService;
import com.fzg.service.GequService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

/**
 * <p>
 * 网易云音乐歌单 前端控制器
 * </p>
 *
 * @author fzg
 * @since 2022-12-05
 */
@RestController
@RequestMapping("/gedan")
public class GedanController {


    @Autowired
    private GedanService gedanService;

    @Autowired
    private GequService gequService;

    /**
     * 获取歌单列表
     * api接口地址：https://binaryify.github.io/NeteaseCloudMusicApi/#/?id=neteasecloudmusicapi
     * 项目地址：https://github.com/Binaryify/NeteaseCloudMusicApi
     * 下载下来之后
     * npm install
     * 运行 node app.js
     * 默认运行端口：3000
     */
    @GetMapping("/getListSongs")
    public ResponseWrapper getListSongs(){
        return gedanService.getListSongs();
    }

    /**
     * 将歌单列表里的图片下载到本地
     */
    @GetMapping("/downLoadGeDanPic")
    public ResponseWrapper downLoadGeDanPic(){
        return gedanService.downLoadGeDanListPic();
    }

    /**
     * 数据库查询歌单的图片url
     *  根据url下载图片到本地
     */
    @GetMapping("/downLoadGeDanPicByDataBaseQuery")
    public ResponseWrapper downLoadGeDanPicByDataBaseQuery(){
        return gedanService.downLoadGeDanPicByDataBaseQuery();
    }


    /**
     * 获取歌单列表之后
     * 请求url：获取歌单的所有歌曲
     * http://localhost:3000/playlist/track/all?id=24381616&limit=30
     * 传入歌单id，获取每张歌单30首歌曲
     * 保存数据库
     */
    @GetMapping("/getGeDanAllSongs")
    public ResponseWrapper getGeDanAllSongs(){
        return gequService.getGeDanAllSongs();
    }


    /**
     * 数据库查出歌曲列表
     * 根据歌曲的图片url
     * 下载图片到本地
     */
    @GetMapping("/downLoadSongsImg")
    public ResponseWrapper downLoadSongsImg(){
        return gequService.downLoadSongsImg();
    }

}
